#include <iostream>
#include <math.h>
#include <stdarg.h>
using namespace std;
class Punct
{
private:
    double x;
    double y;
public:
    Punct ();
    Punct (double x, double y);
    double getX();
    double getY();
    void setX(double x);
    void setY(double y);
    Punct operator+(Punct p);
    Punct operator-(Punct p);
    Punct operator*(Punct p);
    Punct operator/(Punct p);
    bool operator==(Punct p);
    bool operator!=(Punct p);
    friend ostream& operator<<(ostream& afiseaza, const Punct& pct);
};
class Segment
{
private:
    Punct A,B;
public:
    Punct getA();
    Punct getB();
    void setA(Punct A);
    void setB(Punct B);
    Segment(Punct A, Punct B);
    double calcLungime();
};

class Poligon
{
private:
    Punct puncte[100];
public:
    Poligon (Punct puncte[100]);
    Punct getPunct(int k);
    int nrPuncte();
    bool isPoligon();
    bool isTriunghi();
    bool isParalelogram();
    bool isDreptunghi();
    bool isPatrat();
    bool isRomb();
    bool isConvex();
    bool isConcav();
    bool operator==(Poligon k);
    int nr();
    double aria();
    Punct generarePunctInterior();
};


